home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / lisp / clue.lha / clue / examples / old / demo / defsystem.l next >
Encoding:
Text File  |  1989-07-12  |  3.5 KB  |  104 lines

  1. ;;; -*- Mode:Lisp; Package:USER; Syntax:COMMON-LISP; Base:10; Lowercase:T -*-
  2.  
  3. ;;;
  4. ;;;             TEXAS INSTRUMENTS INCORPORATED
  5. ;;;                  P.O. BOX 2909
  6. ;;;                   AUSTIN, TEXAS 78769
  7. ;;;
  8. ;;; Copyright (C) 1988 Texas Instruments Incorporated.
  9. ;;;
  10. ;;; Permission is granted to any individual or institution to use, copy, modify,
  11. ;;; and distribute this software, provided that this complete copyright and
  12. ;;; permission notice is maintained, intact, in all copies and supporting
  13. ;;; documentation.
  14. ;;;
  15. ;;; Texas Instruments Incorporated provides this software "as is" without
  16. ;;; express or implied warranty.
  17. ;;;
  18.  
  19. (in-package 'user)
  20.  
  21. (unless (find-package 'clue)
  22.   (warn "WARNING: CLUE must be loaded before building DEMO."))
  23.  
  24. (unless (find-package 'clue-examples)
  25.   (warn "WARNING: EXAMPLES must be loaded before building DEMO."))
  26.  
  27. (defun compile-clue-demo (&optional (option :compile) directory)
  28.   ;; Load CLUE-demo, optionally compiling changed files.
  29.   ;; If OPTION is :RECOMPILE, recompile all files
  30.   ;; If OPTION is :LOAD, don't compile anything, just load.
  31.   ;; WARNING: CLX, CLUE and EXAMPLES MUST BE LOADED FIRST!!!
  32.   (declare (type (or null string pathname) directory)
  33.        (type (or null (member :load :compile :recompile)) option))
  34.   (unless directory
  35.     (setq directory (or *clue-demo-directory* *default-pathname-defaults*)))
  36.   (setq *clue-demo-directory* directory)    ; Set defaults for the next time
  37.   (unless (find-package 'clue)
  38.     (error "CLUE must be loaded before building DEMO."))
  39.  
  40.   (flet ((module (file &optional opt dir)
  41.        (compile-load (merge-pathnames file (or dir directory)) (or opt option))))
  42.  
  43.     (module "mouse-doc")    ;; pointer documentation window
  44.     (module "menu-demo")    ;; Simple menu demos
  45.     (module "grapher")        ;; tree displayer
  46.     (module "graph-data")    ;; Data for grapher
  47.     (module "listener")        ;; Lisp Listener
  48.     (module "scroller")    ;; scrolling bitmap displayer
  49.     (module "demo-all")        ;; Menu-driven interface for above
  50.     ))
  51.  
  52. (defun load-clue-demo (&optional directory)
  53.   ;; Load CLUE
  54.   ;; WARNING: CLX, CLUE and EXAMPLES MUST BE LOADED FIRST!!!
  55.   (compile-clue-demo :load directory))
  56.  
  57. ;;;-----------------------------------------------------------------------------
  58. ;;; DEFSYSTEM to make lispm users more comfortable
  59.  
  60. #+explorer
  61. (defsystem clue-demo
  62.   (:pathname-default "sys:clue.examples.old.demo;")
  63.   #+pcl (:default-output-directory "sys:clue.examples.old.demo;")
  64.  
  65.   (:module mouse-doc "mouse-doc")
  66.   (:module menu-demo "menu-demo")
  67.   (:module layout "grapher")
  68.   (:module gdata "graph-data")
  69.   (:module listener "listener")
  70.   (:module scroll "scroller")
  71.   (:module driver "demo-all")
  72.   (:module image "ti-logo.xbm")
  73.  
  74.   (:compile-load mouse-doc)
  75.   (:compile-load menu-demo)
  76.   (:compile-load layout)
  77.   (:compile-load gdata (:fasload layout))
  78.   (:compile-load listener)
  79.   (:compile-load scroll)
  80.   (:compile-load driver (:fasload mouse-doc menu-demo layout gdata listener))
  81.   (:auxiliary image)
  82.   )
  83.  
  84. #+symbolics
  85. (defsystem clue-demo
  86.   (:default-pathname "sys:clue.examples.old.demo;"
  87.    :pretty-name "CLUE-DEMO"
  88.    :bug-reports ("clue-bugs@dsg.csc.ti.com" "Report problems with CLUE.")
  89.    )
  90.   (:module layout ("grapher"))
  91.   (:module mouse-doc ("mouse-doc"))
  92.   (:module menu-demo ("menu-demo"))
  93.   (:module gdata ("graph-data")
  94.        (:uses-definitions-from layout))
  95.   (:module listener ("listener"))
  96.   (:module scroll ("scroller"))
  97.   (:module driver ("demo-all")
  98.        (:uses-definitions-from mouse-doc menu-demo gdata listener))
  99.   (:module image ("ti-logo")
  100.        (:type :lisp-example))
  101.   )
  102.  
  103.  
  104.